﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CROSLAND.DL.DALCF;
using CROSLAND.BL.BE;

namespace CROSLAND.BL.BC
{
    public class ReclamoBC
    {        
        #region Singleton
        private ReclamoBC() { }
        private static ReclamoBC _instance = null;
        public static ReclamoBC Instance
        {
            get { return (_instance == null) ? _instance = new ReclamoBC() : _instance; }
        }
        #endregion

        public CombosReclamoBE getCombosReclamo() {
            return DaoFactory.ReclamoDALC.getCombosReclamo();
        }
        public GenericBE set_Reclamo(DocReclamoBE pObjReclamo)
        {
            return DaoFactory.ReclamoDALC.set_Reclamo(pObjReclamo);
        
        }
        public List<InterlocutorReclamoBE> getInterXEmpresa(string P_Cliente, string P_Contac, string P_Respon, string P_Vkorg, string P_Vtweg, string P_AD) 
        {
            return DaoFactory.ReclamoDALC.getInterXEmpresa( P_Cliente, P_Contac, P_Respon, P_Vkorg, P_Vtweg, P_AD);
        }
        public List<ReporteReclamoBE> getReporteReclamo(string P_NREC, string P_PEDV, string P_KUNNR, string P_NCLIE, string P_MATNR, DateTime P_FECINI
                                                , DateTime P_FECFIN, string P_USUARIO, DateTime P_FECINI_CON_I, DateTime P_FECINI_CON_F,
                                                  DateTime P_FECFIN_CON_I, DateTime P_FECFIN_CON_F, string ESTADO)
        {
            return DaoFactory.ReclamoDALC.getReporteReclamo(P_NREC, P_PEDV, P_KUNNR, P_NCLIE, P_MATNR, P_FECINI
                                                , P_FECFIN, P_USUARIO, P_FECINI_CON_I, P_FECINI_CON_F,
                                                   P_FECFIN_CON_I, P_FECFIN_CON_F, ESTADO);
        }

        public List<GenericBE> getValidaData(string pPedido, string pMat1, string pMat2, string pRef)
        { 
            return DaoFactory.ReclamoDALC.getValidaData( pPedido,  pMat1,  pMat2,  pRef);
        }

        public DocReclamoBE getReclamo(string pNroReclamo)
        { 
            return DaoFactory.ReclamoDALC.getReclamo(pNroReclamo);
        }
        public GenericBE set_ModificarReclamo(DocReclamoBE pObjReclamo) 
        { 
            return DaoFactory.ReclamoDALC.set_ModificarReclamo(pObjReclamo);
        }
        public DocReclamoBE getReclamoImpr(string pNroReclamo)
        {
            return DaoFactory.ReclamoDALC.getReclamoImpr(pNroReclamo);
        }

        public List<ZReclamoVisitasBE> setVisitas(List<ZReclamoVisitasBE> lstVisitas)
        {
            return DaoFactory.ReclamoDALC.setVisitas(lstVisitas);
        }
    }
}
